package com.meritdata.cloud.data.service.datadirectory.controller;


import com.meritdata.cloud.data.base.ResultData;
import com.meritdata.cloud.data.service.datadirectory.entity.TdDownloadPropose;
import com.meritdata.cloud.data.service.datadirectory.service.IapplyDataService;
import com.querydsl.core.Tuple;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/apidatadirectory")
public class applyDataController {

    @Qualifier("applyDataService")
    @Autowired
    private IapplyDataService dataservice;


    //我的数据返回接口
    @RequestMapping("/myList")
    @ResponseBody
    public List<TdDownloadPropose> myList(Map<String, Object> params) {
        return dataservice.getMyList(params);
    }

    //最热数据返回接口
    @RequestMapping("/hotList")
    @ResponseBody
    public List<Tuple> hotList(Map<String, Object> params) {
        return dataservice.getHotList(params);
    }

    //最新数据返回接口，表中id最多的表，统计排序
    @RequestMapping("/newList")
    @ResponseBody
    public List<TdDownloadPropose> newList(Map<String, Object> params) {
        return dataservice.getNewList(params);
    }

    //申请数据信息表
    @RequestMapping("/add")
    @ResponseBody
    public ResultData addData(TdDownloadPropose downloadpropose, List<Long> cloumns) {
        return dataservice.create(downloadpropose,cloumns);
    }

    //数据表信息接口
    //请求值：table_Id （表id）
    //返回值：表创建人，更新时间，所属域，数据类型，业务系统，描述，字段信息（字段中文名，英文名，字段类型，是否主键，是否为空）
    //页面信息：数据服务>>数据目录>>点击表名

    //数据目录菜单接口
    //请求值：数据层级，用户id
    //返回值：菜单数据
    //页面信息，数据目录上方菜单，类似数据管理数据建模树菜单

    //数据表信息查询（主页）
    //请求值 map 数据分层,数据源，分页条数，当前页码，模糊查询值
    //返回值  数据表所有信息，有什么返回什么

    //数据表信息查询
    //请求值 list 存储所有需要查询的id值
    //返回值 请求值中所有相关数据表id的数据表内容
}
